<

エラーをサービスに報告する

バグのないアプリを作成するよう常に努めていますが、 彼らは時々現れるでしょう。 バグのあるアプリはユーザーや顧客の不満につながるため、 ユーザーがどのくらいの頻度でアクセスするかを理解することが重要です エクスペリエンスのバグとそのバグが発生する場所。 そうすることで、バグに優先順位を付けることができます。 最も大きな影響があり、それらを修正するために取り組みます。

ユーザーがバグに遭遇する頻度をどのように判断できますか? エラーが発生するたびに、次の内容を含むレポートを作成します。 発生したエラーと関連するスタックトレース。 その後、レポートをエラー追跡部門に送信できます。 サービスなどバグスナッグ、データドッグ、生地、Firebase Crashlytics、ロールバー、またはセントリー。

エラー追跡サービスは、ユーザーのすべてのクラッシュを集約します。 経験してそれらをグループ化します。これにより、どのくらいの頻度で アプリが失敗し、ユーザーが問題に遭遇した場合。

このレシピでは、エラーを衛兵を使用したクラッシュレポートサービス 次の手順:

  1. Sentry から DSN を取得します。
  2. Flutter Sentry パッケージをインポートする
  3. Sentry SDK を初期化する
  4. プログラムでエラーをキャプチャする

1. Sentry から DSN を取得する

Sentry にエラーを報告する前に、一意に識別するための「DSN」が必要です アプリを Sentry.io サービスに追加します。

DSN を取得するには、次の手順を実行します。

  1. Sentry でアカウントを作成する。
  2. アカウントにログインします。
  3. 新しい Flutter プロジェクトを作成します。
  4. DSN を含むコード スニペットをコピーします。

2. Sentry パッケージをインポートする

インポートするsentry_flutterアプリにパッケージ化します。 セントリーパッケージを使用すると送信が簡単になります エラーは Sentry エラー追跡サービスに報告されます。

追加するには、sentry_flutterパッケージを依存関係として、 走るflutter pub add:

$ flutter pub add sentry_flutter

3. Sentry SDK を初期化する

SDK を初期化して、さまざまな未処理エラーを自動的にキャプチャします。

import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';

Future<void> main() async {
  await SentryFlutter.init(
    (options) => options.dsn = 'https://example@sentry.io/example',
    appRunner: () => runApp(const MyApp()),
  );
}

あるいは、次のコマンドを使用して DSN を Flutter に渡すこともできます。dart-define鬼ごっこ:

--dart-define SENTRY_DSN=https://example@sentry.io/example

それは私に何をもたらしますか?

Sentry が Dart 層とネイティブ層で未処理のエラーをキャプチャするために必要なのはこれだけです。
これには、iOS の Swift、Objective-C、C、および C++、Android の Java、Kotlin、C、および C++ が含まれます。

4. プログラムでエラーをキャプチャする

Sentry が生成する自動エラー レポートに加えて、 SDKのインポートと初期化、 API を使用して Sentry にエラーを報告できます。

await Sentry.captureException(exception, stackTrace: stackTrace);

詳細については、「セントリーAPIpub.dev のドキュメント。

もっと詳しく知る

Sentry SDK の使用に関する広範なドキュメントは、次の場所にあります。セントリーのサイト。

完全な例

実際の例を表示するには、 を参照してくださいセントリー flutterの例アプリ。